<template>
  <div>
    <button @click="show = !show">显示/隐藏</button>
    <!-- 
      我们可以给transition设置一个name属性,给当前的动画命名,未来在类名直接使用 name-enter来替换v-enter即可
     -->
    <transition name="p">
      <div class="box" v-if="show">看我</div>
    </transition>
  </div>
</template>

<script>
  export default {
    name: "App",
    data() {
      return {
        show: true,
      };
    },
  };
</script>

<style>
  .box {
    width: 100px;
    height: 100px;
    background-color: rgb(225, 152, 152);
  }
  /*  以下类名是transition组件自动匹配的类 */

  /* 进入之前状态 离开之后状态 */
  .p-enter,
  .p-leave-to {
    opacity: 0;
  }

  /* 进入之后状态 离开之前状态 */
  .p-enter-to,
  .p-leave {
    opacity: 1;
  }

  /* 进入的过程的动画 */
  .p-enter-active {
    transition: all 1s linear;
  }

  /* 离开的过程动画 */
  .p-leave-active {
    transition: all 1s linear;
  }
</style>
